﻿// -----------------------------------------------------------------------
// <copyright file="IContexr.cs" company="">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------

using TPTecnicas.MessageProcessor.Business.Repositories;

namespace TPTecnicas.MessageProcessor.Business
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// TODO: Update summary.
    /// </summary>
    public interface IUniversityContext
    {
        IStudentRepository StudentRepository { get; set; }

        ISubjectRepository SubjectRepository { get; set; }

        void AlumnoAltaMateria(string padron, string nombre, string identificador, string codigoMateria);

        /// <summary>
        /// Checks if user is registered in current semester
        /// </summary>
        /// <param name="message">id or padron</param>
        /// <returns>Wheter or not the user is registered</returns>
        bool UsuarioRegistrado(string identificador);

        /// <summary>
        /// Checks if user has group in current semester
        /// </summary>
        /// <param name="message">id or padron</param>
        /// <returns>Wheter or not the user has a group</returns>
        bool UsuarioEnGrupo(string identificador);

        /// <summary>
        /// Checks registered groups in current semester
        /// </summary>
        /// <returns>registered groups</returns>
        int CantidadGruposRegistrados();

        /// <summary>
        /// registers a padron in group
        /// </summary>
        /// <param name="padron">user padron</param>
        /// <param name="numeroGrupo">group</param>
        /// <returns></returns>
        void RegistrarPadronEnGrupo(string padron, int numeroGrupo);
    }
}
